package com.bto.leasetest.entity.table;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

/**
 * 越秀-审核表 表定义层。
 *
 * @author Administrator
 * @since 2023-09-21
 */
public class LeaseReviewTestTableDef extends TableDef {

    /**
     * 越秀-审核表
     */
    public static final LeaseReviewTestTableDef LEASE_REVIEW_TEST = new LeaseReviewTestTableDef();

    /**
     * 业务经理邮箱
     */
    public final QueryColumn EMAIL = new QueryColumn(this, "email");

    /**
     * 撤单/流程拒绝/退回原因
     */
    public final QueryColumn REASON = new QueryColumn(this, "reason");

    /**
     * 越秀业务经理
     */
    public final QueryColumn EMPLOYEE = new QueryColumn(this, "employee");

    /**
     * 身份证号
     */
    public final QueryColumn ID_CARD_NO = new QueryColumn(this, "id_card_no");

    /**
     * 创建时间
     */
    public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");

    /**
     * 更新时间
     */
    public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");

    /**
     * 同步越秀返回值
     */
    public final QueryColumn BUSINESS_KEY = new QueryColumn(this, "business_key");

    /**
     * 越秀最后放款日
     */
    public final QueryColumn PAYMENT_DATE = new QueryColumn(this, "payment_date");

    /**
     * 承租人预审状态
     * NEW：待审核；audit_id
     * APPROVING：审批中；audit_id
     * APPROED：审批通过；audit_id
     * REJECTED：审批拒绝 audit_id
     */
    public final QueryColumn TENANT_STATUS = new QueryColumn(this, "tenant_status");


    public final QueryColumn LEASE_REVIEW_ID = new QueryColumn(this, "lease_review_id");

    /**
     * 越秀投放总额
     */
    public final QueryColumn PAYMENT_AMOUNT = new QueryColumn(this, "payment_amount");

    /**
     * 投放款支付状态
     * NEW-新建
     * PAYING-支付中
     * PAID-已支付
     * FAILURE-支付失败
     */
    public final QueryColumn PAYMENT_STATUS = new QueryColumn(this, "payment_status");

    /**
     * 风险审查状态（进件同步）
     * NEW：待审核；
     * APPROVING：审批中；
     * APPROVED：审批通过；
     * REJECTED：审批拒绝；
     * CLOSED：取消；
     * APPROVED_RETURN：退回（农户投放审查退回到风险审查；
     * CANCEL：撤回）]
     */
    public final QueryColumn PROJECT_STATUS = new QueryColumn(this, "project_status");

    /**
     * 越秀合同编号
     */
    public final QueryColumn CONTRACT_NUMBER = new QueryColumn(this, "contract_number");

    /**
     * 合同状态
     * SIGN-投放审查通过
     * INCEPT-起租
     * PENDING-暂挂（进行变更）
     * TERMINATE-合同结束
     * CANCEL-取消
     */
    public final QueryColumn CONTRACT_STATUS = new QueryColumn(this, "contract_status");

    /**
     * 农户投放审查状态
     * NEW-待审批
     * APPROVING-审批中
     * APPROVED-审批通过
     * REJECTED-审批拒绝
     * CANCEL - 撤回（越秀业务经理撤回流程）
     */
    public final QueryColumn FARMER_SIGN_STATUS = new QueryColumn(this, "farmer_sign_status");

    /**
     * 合同文本状态（农户）
     * [
     * UNCREATED-未生成
     * CREATED-已生成
     * UNAUDITED-待审核（承租人签署完毕）
     * AUDITED-已审核（越秀农户投放审查通过）
     * SIGNED-已签约（盖章完成）
     * ]
     */
    public final QueryColumn CONTRACT_TEXT_STATUS = new QueryColumn(this, "contract_text_status");

    /**
     * 投放款付款申请状态
     * NEW-新建
     * APPROVING-审批中
     * APPROVED-审批通过
     * REJECTED-审批拒绝
     * CANCEL-取消
     * BACK-撤回
     */
    public final QueryColumn PAYMENT_APPLY_STATUS = new QueryColumn(this, "payment_apply_status");

    /**
     * 租后购售电合同补充状态
     * [
     * UNSUPPLIED-未补充
     * NEW-待审批
     * REVOKED-已撤销
     * APPROVING-审批中
     * APPROVED-审批通过
     * REJECTED-审批拒绝
     * ]
     */
    public final QueryColumn CONTRACT_POWER_STATUS = new QueryColumn(this, "contract_power_status");

    /**
     * 进件序号密文
     */
    public final QueryColumn PARTNERS_CONTRACT_ENCR = new QueryColumn(this, "partners_contract_encr");

    /**
     * 所有字段。
     */
    public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");

    /**
     * 默认字段，不包含逻辑删除或者 large 等字段。
     */
    public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{LEASE_REVIEW_ID, ID_CARD_NO, BUSINESS_KEY, CONTRACT_NUMBER, EMPLOYEE, EMAIL, TENANT_STATUS, PROJECT_STATUS, FARMER_SIGN_STATUS, PAYMENT_APPLY_STATUS, PAYMENT_STATUS, CONTRACT_STATUS, CONTRACT_TEXT_STATUS, CONTRACT_POWER_STATUS, REASON, PAYMENT_DATE, PAYMENT_AMOUNT, PARTNERS_CONTRACT_ENCR, CREATE_TIME, UPDATE_TIME};

    public LeaseReviewTestTableDef() {
        super("", "lease_review_test");
    }

}
